/**
 * @program: examples
 * @className: bitOperaTest.java
 * @author: River Ray
 * @description:位运算测试
 * @createTime 2021年05月18日 11:06:00
 */
public class bitOperaTest {
   public static void main(String[] args) {


      // 2 -> 10
      // 3 -> 11
      // 与后结果：10（二进制数）
      // 或后结果：11（二进制数
      // 异或后结果：01（二进制数
      System.out.println(Integer.toBinaryString(2 & 3));
      System.out.println(Integer.toBinaryString(2 | 3));
      System.out.println(Integer.toBinaryString(~2));
      System.out.println(Integer.toBinaryString(2 ^ 3));
      System.out.println("--------------------------------");
      System.out.println(Integer.toBinaryString(2 << 2));
      System.out.println(Integer.toBinaryString(2 >> 1));
      System.out.println(Integer.toBinaryString(2 >> 2));
      System.out.println(Integer.toBinaryString(2 >> 3));
      System.out.println(Integer.toBinaryString(100));
      System.out.println(Integer.toBinaryString(100 >> 3));
      System.out.println("--------------------------------");
      System.out.println(Integer.toBinaryString(-2 ));
      System.out.println(Integer.toBinaryString(-2>>1 ));
      System.out.println(Integer.toBinaryString(-2>>>1 ));
      System.out.println(Integer.toBinaryString(2 ));
      System.out.println(Integer.toBinaryString(2>>1 ));
      System.out.println(Integer.toBinaryString(2>>>1 ));




   }
}
